Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 73bda81315
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| merged_events = merge_events(ical_events, past_events) | ||
| if merged_events: | ||
| return merged_events |
There was a problem hiding this comment.
Preserve /events fallback when iCal source fails
In fetch_events, this early return skips the /events/ fallback whenever events/past yields any records. If the iCal request fails but events/past still responds, the sync returns only past events and drops upcoming events entirely because events_url is never queried. This is a data-loss regression during partial source outages and should still attempt the main events-page fallback when iCal data is unavailable.
Useful? React with 👍 / 👎.
| key = event.get("meetup_url") or f"{event.get('title')}|{event.get('date')}" | ||
| merged[key] = event |
There was a problem hiding this comment.
Avoid URL-only dedupe key in merged event lists
merge_events deduplicates on meetup_url alone, but iCal entries without a URL are normalized to the same default URL, so distinct events overwrite each other. This causes feeds with missing URL fields to collapse to a single retained event after merge, reducing event accuracy. The merge key should fall back to a unique composite key when the URL is default or missing.
Useful? React with 👍 / 👎.
Motivation
events/past/page and merging results to ensure the site shows recent past events.Description
.github/workflows/sync-meetup-events.ymlto add apull_requesttrigger formain/masterand changed the commit step conditional to only commit onpush,schedule, orworkflow_dispatch.MEETUP_PAST_EVENTS_URLoverride inREADME.md.scripts/sync_meetup_events.pyaddedDEFAULT_PAST_EVENTS_URL, implementedunescape_ical_textand applied it toSUMMARY,DESCRIPTION, andLOCATIONfields so iCal escapes are decoded.merge_eventsand enhancedfetch_eventsto fetch iCal events and theevents/pastpage, merge/dedupe them (preferringmeetup_urlkeys), log counts, and fall back to the main events page only if necessary.Testing
Codex Task